package com.cz.fra.dao;

import java.util.List;

import com.cz.fra.entity.Filter;
import com.cz.fra.entity.Report;

public interface ReportDao {
	
	/**
	 * 
	 * @param report
	 * @param location
	 * @param bait
	 * @param species
	 * @param img
	 * @return
	 * @throws PersistenceException
	 * @throws EntityNotFoundException
	 */
	public String addReport(Report report, List<String> img) 
			throws PersistenceException, EntityNotFoundException;
	
	/**
	 * 
	 * @return
	 * @throws PersistenceException
	 * @throws EntityNotFoundException
	 */
	public List<Report> getReportList() throws PersistenceException, EntityNotFoundException;
	
	/**
	 * 
	 * @param filter
	 * @return
	 * @throws PersistenceException
	 * @throws EntityNotFoundException
	 */
	public List<Report> getReportListByFilter(Filter filter) throws PersistenceException, EntityNotFoundException;
	
	/**
	 * 
	 * @param reportId
	 * @return
	 * @throws PersistenceException
	 * @throws EntityNotFoundException
	 */
	public Report getReportByID(int reportId) throws PersistenceException, EntityNotFoundException;

	/**
	 * 
	 * @param reportId
	 */
	public void incrementCommentNum(int reportId) throws PersistenceException, EntityNotFoundException;;
}
